package chapter6.xmlPart;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.io.File;
import java.util.List;

/**
 * @Project ：learn_java
 * @File ：XmlParseDemo01.java
 * @IDE ：IntelliJ IDEA
 * @Author ：自由如风间
 * @Date ：2025/3/19 21:00
 * @Description ：学习使用dom4j解析xml文件
 */

public class XmlParseDemo01 {
    public static void main(String[] args) throws DocumentException {
        // 获取解析器对象
        SAXReader reader = new SAXReader();
        // 利用解析器把xml文件加载到内存中，并且返回一个document对象
        Document document = reader.read(new File("G:\\codes\\learn_java\\src\\chapter6\\demo01.xml"));
        // 获取到根标签
        Element rootElement = document.getRootElement();
        // 通过根标签来获取npc标签
        List<Element> npcElements = rootElement.elements("npc");

        for (Element npc : npcElements) {
            // 获取name属性
            // 获取id用getValue，获取属性文本用getText，获取子元素的文本用elementText

            // 获取name元素的文本内容
            String name = npc.elementText("name");

            // 获取gender元素的文本内容
            String gender = npc.elementText("gender");

            // 这时就可以把获取到的信息存储的对应的类里了
            // 但因为没有创建类，省略这一步

            // 打印获取到的信息
            System.out.println("name = " + name);
            System.out.println("gender = " + gender);
            System.out.println();
        }
    }
}
